home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #14 / Monster Media No. 14 (April 1996) (Monster Media, Inc.).ISO / math / maca_101.zip / MASSCALC.DOC < prev    next >
Text File  |  1996-01-30  |  58KB  |  1,369 lines

  1.  
  2.  
  3.  
  4.                                       MASSCALC
  5.                                     VERSION 1.00
  6.                                   OPERATIONS MANUAL
  7.  
  8.                                   by Ralph W. Reid
  9.                                    125 Parmac  #32
  10.                                   Chico, CA  95926
  11.                                          USA
  12.  
  13.                            http://www2.athenon.com/~rreid
  14.  
  15.                              Released: January 19, 1996
  16.  
  17.  
  18.  
  19.  
  20.           DESCRIPTION:  MASSCALC is a calculator with no fancy screen
  21.           displays to get in the way of the needed information.  A variety
  22.           of commands and functions have been included in MASSCALC to
  23.           perform a wide range of mathematical operations.  Input is read
  24.           from standard input, so files may be directed into MASSCALC which
  25.           contain a series of equations and commands.  Output is written to
  26.           standard output, so all results can be redirected to an output
  27.           file.  An option is provided to capture output into a history
  28.           file as it is produced, and this history file may be opened or
  29.           closed during calculator operation to capture only the results
  30.           desired.  Some demo files (*.DEM) have been included with this
  31.           package which may be redirected or piped into MASSCALC to
  32.           demonstrate some of the features of this package.  See the demo
  33.           files included with this package or your operating system manual
  34.           for more information concerning piping and redirecting files.
  35.  
  36.           SYNOPSIS: MASSCALC [-v | -version]
  37.           where [-v] or [-version] is an optional parameter which causes
  38.           MASSCALC to display a version screen at start-up (a version
  39.           screen is automatically displayed in the shareware and student
  40.           distributions).
  41.  
  42.           HOW TO GET OUT OF MASSCALC:  The best ways to get out of MASSCALC
  43.           are to run the exit or quit commands, or to enter the end of file
  44.           character (CTRL-Z) on a line by itself.  When a file is
  45.           redirected or piped into MASSCALC, MASSCALC terminates when it
  46.           finds one of these three items in the input file, or when the end
  47.           of the input file is reached.  Entering CTRL-C or CTRL-BREAK from
  48.           the keyboard can also terminate MASSCALC, but in this case,
  49.           temporary files will not be cleaned up, and the history file will
  50.           not be properly closed which may result in the loss of some
  51.           information.  The EXIT and QUIT commands are not case sensitive,
  52.           and can therefore be entered in upper, lower, or mixed case.  
  53.  
  54.  
  55.  
  56.  
  57.           MASSCALC     VERSION 1.00                                 1
  58.  
  59.  
  60.  
  61.           Here are a few examples of valid EXIT and QUIT commands:
  62.  
  63.           EXIT
  64.           Exit
  65.           exit
  66.           QUIT
  67.           Quit
  68.           quit
  69.  
  70.           COMMENTS FOR CLARITY:  Comments (documentation) are started with
  71.           the semicolon (;).  This is the same character which ends
  72.           equations, so comments may immediately follow the end of an
  73.           equation.  Here are some examples of how comments work in
  74.           MASSCALC:
  75.  
  76.           ;This is a comment line.
  77.           1 / sqrt (2);     comment after an equation
  78.  
  79.           ;the preceding blank line is ignored
  80.  
  81.           Blank lines are ignored in any input, and may even be inserted in
  82.           the middle of equations if desired.  See the demo files for more
  83.           examples of MASSCALC comments.
  84.  
  85.           EQUATION AND COMMAND SYNTAX:  All mathematical expressions are
  86.           terminated with a semicolon (;) except as noted.  Some special
  87.           commands do not require a terminating semicolon, and this
  88.           situation is described in the descriptions for such commands
  89.           below.  Because equations are terminated by semicolons rather
  90.           than the end-of-line character, long equations can be split
  91.           across several lines as desired.  Most MASSCALC equations and
  92.           commands can be entered in free form (except for the command,
  93.           function, and variable names), so blank spaces and tabs may be
  94.           inserted as desired into equations.  Here are some examples:
  95.  
  96.           z = x+y;  equation ends here
  97.           z
  98.           =
  99.           x
  100.           +
  101.           y
  102.  
  103.           ;  equation ends here
  104.  
  105.           The maximum number of characters in an equation including any
  106.           trailing comments is defined in each distribution as follows:
  107.  
  108.            100 SHAREWARE
  109.           1000 STUDENT
  110.           2000 FULL
  111.  
  112.  
  113.  
  114.           MASSCALC     VERSION 1.00                                 2
  115.  
  116.  
  117.  
  118.           The maximum number of input lines allowed for each distribution
  119.           is as follows:
  120.  
  121.            110 SHAREWARE
  122.           1010 STUDENT
  123.           unlimited FULL
  124.  
  125.           See the MASSCALC demo files for more examples of command and
  126.           equation syntax.  See the MAXIMUM VALUES AND LIMITS section in
  127.           this manual for a complete list of maximum MASSCALC values.
  128.  
  129.           VARIABLES AND CONSTANTS:  Variable names may begin with the
  130.           characters: _ (underline character), a-z (lower case alphabet),
  131.           A-Z (upper case alphabet), ' (apostrophe), and $ (dollar sign). 
  132.           All predefined constant and variable names begin with a single
  133.           underline character (_), so avoid beginning variable names with
  134.           this character if possible to avoid confusion.  The characters in
  135.           the variable name which follow the first character may be: _
  136.           (underline character), a-z (lower case alphabet), A-Z (upper case
  137.           alphabet), ' (apostrophe), $ (dollar sign), 0-9 (numerical
  138.           digits), . (period), blank space, and tab character.  All of the
  139.           characters just described except for the blank space and tab
  140.           character may be the last character in a variable name.  User
  141.           defined variable names are case sensitive, so "var1" is not the
  142.           same as "VAR1".  All elements in user defined variables and
  143.           arrays are initialized to 0.0.  The following are all examples of
  144.           legal MASSCALC variable names:
  145.  
  146.           x
  147.           x1
  148.           x 1
  149.           descriptive thing
  150.           $y'
  151.           y'
  152.           a_b times c.d
  153.  
  154.           A variable name containing a single space is not the same as a
  155.           variable name containing more than one space.  For example, the
  156.           variables "x 1" and "x  1" are not treated as the same variable.
  157.  
  158.           To display the value of a variable by itself, enter the variable
  159.           name as though it is an equation.  For example, to see the value
  160.           stored in the variable big_array, enter the following:
  161.  
  162.           big_array;
  163.  
  164.           The maximum length of variable names is determined by the
  165.           distribution type as follows:
  166.  
  167.           21 SHAREWARE
  168.           31 STUDENT
  169.           80 FULL
  170.  
  171.           MASSCALC     VERSION 1.00                                 3
  172.  
  173.  
  174.  
  175.           See the MAXIMUM VALUES AND LIMITS section in this manual for a
  176.           complete list of maximum values.
  177.  
  178.           Multidimensional arrays may be created with MASSCALC, and the
  179.           names of these arrays must follow the same syntax rules as single
  180.           element variables.  To display an entire array, enter the array
  181.           name as a single equation as follows:
  182.  
  183.           my_array;
  184.  
  185.           To show the value stored in a particular element of an array,
  186.           subscripts must be included.  Subscripts must be enclosed in
  187.           brackets ([...]), braces ({...}), or parentheses ((...)).  For
  188.           example, if an array has been created with two dimensions (3 rows
  189.           and 4 columns), the last element in the array could be displayed
  190.           as follows:
  191.  
  192.           my_array [3, 4];
  193.  
  194.           and the element in row 2, column 1 would be displayed as follows:
  195.  
  196.           my_array [2, 1];
  197.  
  198.           When assigning values to whole arrays, only the number of
  199.           elements is critical, not the actual indexes.  The array is
  200.           filled in row major fashion.  For example:
  201.  
  202.           array first is dimensioned [1, 4], and contains values: 1, 2, 3,
  203.           4.  Array second is dimensioned [2, 2].  Both of these arrays
  204.           contain four elements, so the following assignment is legal in
  205.           MASSCALC:
  206.  
  207.           second = first;
  208.  
  209.           and after this assignment, the arrays would contain values as
  210.           follows:
  211.  
  212.           first;
  213.            1 2 3 4
  214.           second;
  215.            1 2
  216.            3 4
  217.  
  218.           Array second may then be assigned a value to a single one of its
  219.           elements as follows:
  220.  
  221.           second [1, 1] = 8;
  222.  
  223.           and then second would be displayed:
  224.  
  225.  
  226.  
  227.  
  228.           MASSCALC     VERSION 1.00                                 4
  229.  
  230.  
  231.  
  232.           second;
  233.            8 2
  234.            3 4
  235.  
  236.           An array called third could then be created with dimensions [2,
  237.           2, 2], and could then be filled as follows:
  238.  
  239.           third = first, second;
  240.  
  241.           and could then be displayed:
  242.  
  243.           third;
  244.            1 2
  245.            3 4
  246.  
  247.            8 2
  248.            3 4
  249.  
  250.           See the CREATE_ARRAY command described elsewhere in this manual
  251.           for more information concerning array creation.  See the MASSCALC
  252.           demo files for more examples of array and variable names and
  253.           usage.
  254.  
  255.           PREDEFINED CONSTANTS:  These values are defined as constants
  256.           within MASSCALC.  These constant names may be included anywhere
  257.           in equations, except where their value might be changed
  258.           (attempting to change the value of any of these constants will
  259.           result in an error).  Constant names are not case sensitive, so
  260.           "_PI" is the same as "_pi".  Due to compiler and hardware
  261.           limitations, only the first 16 significant figures may be valid
  262.           for these constants.  Here are the predefined constant names and
  263.           the values assigned to them:
  264.  
  265.           NAME              VALUE
  266.           -------------------------------
  267.           _1_pi      0.318309886183790672
  268.           _1_sqrt_2  0.707106781186547524
  269.           _1_sqrt_pi 0.564189583547756287
  270.           _2_pi      0.636619772367581343
  271.           _2_sqrt_pi 1.12837916709551257
  272.           _base_10_e 0.434294481903251828
  273.           _base_2_e  1.44269504088896341
  274.           _e         2.71828182845904524
  275.           _ln_10     2.30258509299404568
  276.           _ln_2      0.693147180559945309
  277.           _pi        3.14159265358979324
  278.           _pi_2      1.57079632679489662
  279.           _pi_4      0.785398163397448310
  280.           _sqrt_2    1.41421356237309505
  281.  
  282.           PREDEFINED VARIABLES:  The variables described here are defined
  283.           by MASSCALC, but their values may be changed.  Each of these
  284.  
  285.           MASSCALC     VERSION 1.00                                 5
  286.  
  287.  
  288.  
  289.           variables is given a default value as described below.  Most of
  290.           these variables may be assigned the result of an equation (i.e.
  291.           _tolerance = 3/5;), but there are exceptions which must be dealt
  292.           with as described below.  All of the predefined variables begin
  293.           with one underline character (_), and are not case sensitive
  294.           (_TOLerance is the same as _tolerance).
  295.  
  296.           _der_delta     default value = 0.001
  297.           Delta value for first and second derivative calculations.
  298.  
  299.           _fund_der_delta     default value = 0.00001
  300.           Delta value for fundamental derivative calculations.
  301.  
  302.           _max_iterations     default value = 100
  303.           Maximum number of iterations for integral, root, and other
  304.           calculations.
  305.  
  306.           _out_iterations     default value = 0.0
  307.           Set = 0.0 to turn off iterative reports; set = any non-zero value
  308.           to turn on iterative reports.  These reports are produced by some
  309.           functions and commands to show progress as calculations are
  310.           performed.
  311.  
  312.           _scale     default value = -14 14
  313.           Determines how many digits will be displayed in numeric output,
  314.           and whether the numbers will be left or right justified within
  315.           the specified space.  A hyphen (-) in front of the first number
  316.           indicates left justification.  The first set of digits indicates
  317.           the total number of digits to display, and the second set of
  318.           digits indicates how many decimal places to display.  The valid
  319.           range for the first value is -20 through 20, and the valid range
  320.           for the second value is 0 through 20.  Equations may not be used
  321.           to assign values to this special variable.  Two numbers separated
  322.           by a non-numerical character or characters determine the value of
  323.           this variable.  The following are examples of ways to assign
  324.           values to this variable:
  325.  
  326.           _scale = 6 6;
  327.           _scale = 6.6;
  328.           _scale -8 6;
  329.           _scale12.10
  330.  
  331.           A terminating semicolon (;) is not required when _scale is
  332.           accessed or assigned a value, since this value is not a standard
  333.           value.  Whenever _scale is assigned a value, or when it is
  334.           entered on a line by itself, the resulting values for _scale are
  335.           displayed.
  336.  
  337.           _tolerance     default value = 0.000000000001
  338.           Function tolerance for iterative calculations.
  339.  
  340.  
  341.  
  342.           MASSCALC     VERSION 1.00                                 6
  343.  
  344.  
  345.  
  346.           OPERATOR PRECEDENCE:  These operators are handled in equations in
  347.           the order shown:
  348.  
  349.           (), [], {}  group parameters and sub-equations
  350.           <function_name>  trig, log, or other functions
  351.           -  uniary minus
  352.           ^  raise a value to an exponent
  353.           *, /  multiplication and division
  354.           +, -  addition and subtraction
  355.           =  value assignment
  356.  
  357.           The following equation assigns the value of -4 to x:
  358.  
  359.           x = - ((1 + 1) ^ log (100));
  360.  
  361.           See the MASSCALC demo files for examples of equations.
  362.  
  363.           COMMANDS:  MASSCALC includes a variety of commands.  These
  364.           commands need not be terminated with a semicolon (;) as in
  365.           equations, unless otherwise indicated.  Some commands include
  366.           punctuation such as colons (:) and periods (.).  These
  367.           punctuation marks must be included with the commands as shown. 
  368.           Commands are not case sensitive, so "Print:" is the same as
  369.           "print:".  See the MASSCALC demo files for examples of MASSCALC
  370.           commands.
  371.  
  372.           ADD:
  373.           Adds a column of numbers or equations.
  374.           ADD:
  375.             <firstnum>
  376.             <secondnum>
  377.             <...>
  378.           ENDADD
  379.  
  380.           <firstnum> and <secondnum> may be equations or numbers.  They
  381.           need not be terminated with semicolons (;), because each line is
  382.           calculated as a complete equation, and then added to the total,
  383.           which is displayed when the endadd command is entered. 
  384.           Semicolons may be used on each line if desired to add comments
  385.           for clarification.  Many equations and numbers may be added
  386.           together (not just two as shown here).  Accumulation of values
  387.           continues until ENDADD is entered.  Refer to the MASSCALC demo
  388.           files for examples of this command.
  389.  
  390.           ADD_INTO: <varname>
  391.           ADD INTO: <varname>
  392.           Adds a column of numbers or equations, and assigns the result to
  393.           the variable specified by <varname>.
  394.  
  395.  
  396.  
  397.  
  398.  
  399.           MASSCALC     VERSION 1.00                                 7
  400.  
  401.  
  402.  
  403.           ADD INTO: total
  404.             <firstnum>
  405.             <secondnum>
  406.             <...>
  407.           ENDADD
  408.  
  409.           This command works like ADD:, except that the result is assigned
  410.           to a variable (total in this case) instead of being displayed. 
  411.           See also ADD:.
  412.  
  413.           CLOSE_HISTORY_FILE.
  414.           CLOSE HISTORY FILE.
  415.           Closes the currently open history file.  See also
  416.           "HISTORY_FILE:", "OPEN_HISTORY_FILE:", and "EXIT".
  417.  
  418.           CREATE_ARRAY:
  419.           CREATE ARRAY:
  420.           DIMENSION_ARRAY:
  421.           DIMENSION ARRAY:
  422.           Creates an array, which may have more than one dimension.
  423.           CREATE_ARRAY: <name> (<dim1> [<dim2>, ...]);
  424.           <name> is the name of the array to be created.  <dim1> is the
  425.           first dimension (displayed as a row in outputs).  <dim2> is the
  426.           second dimension (displayed as columns in outputs).  The
  427.           dimensions must be enclosed in either brackets ([...]), braces
  428.           ({...}), or parenthesis ((...)).  Dimensions can be considered to
  429.           be rows, columns, pages, books, shelves, sets of shelves
  430.           (stacks), libraries, and so on to the limits of the MASSCALC
  431.           distribution.  Maximum numbers of dimensions for each MASSCALC
  432.           distribution are as follows:
  433.  
  434.             3 SHAREWARE
  435.             6 STUDENT
  436.           255 FULL
  437.  
  438.           The number of elements in each dimension may be from 1 to 2^32-1
  439.           as memory allows, which should be more than enough elements for
  440.           most applications.  See the MAXIMUM VALUES AND LIMITS section in
  441.           this manual for a complete list of maximums.  All elements in new
  442.           arrays are initialized to 0.0.  In this example, a two
  443.           dimensional array is created with 2 rows and 3 columns:
  444.  
  445.           CREATE_ARRAY: A [2, 3];
  446.  
  447.           Array dimensions may be determined with equations if desired.  If
  448.           the equation for a dimension is a non-integer value, the floor of
  449.           the result is used to determine the number of elements in that
  450.           dimension.  If a dimension is about to be assigned a value of 0,
  451.           the dimension is assigned the value of 1 instead.  This example
  452.           creates an array with two dimensions of [2, 2]:
  453.  
  454.           dimension array: big [2 * 2 - 1.5, log (100)];
  455.  
  456.           MASSCALC     VERSION 1.00                                 8
  457.  
  458.  
  459.  
  460.           In the full MASSCALC distribution, memory overflow files are
  461.           created for arrays which do not fit into memory.  Array sizes are
  462.           limited by available main memory in the shareware and student
  463.           distributions.  Whenever a variable name is used which has not
  464.           been assigned to a defined array or other variable, the variable
  465.           is defined automatically as a single element variable, and thus
  466.           does not need to be created or dimensioned.  See also
  467.           "DELETE_ARRAY:", "REDIMENSION_ARRAY:", "SHOW_ARRAYS.", and
  468.           "SHOW_ARRAY_STRUCTURE:".
  469.  
  470.           DELETE_ALL_ARRAYS.
  471.           DELETE ALL ARRAYS.
  472.           DELETE_ALL_VARIABLES.
  473.           DELETE ALL VARIABLES.
  474.           Removes all user defined variables and arrays from memory.  Any
  475.           memory overflow files associated with any arrays are also
  476.           removed.  See also "SHOW_arrays." and "DELETE_array:".
  477.  
  478.           DELETE_ARRAY:
  479.           DELETE ARRAY:
  480.           DELETE_VARIABLE:
  481.           DELETE VARIABLE:
  482.           Removes a user defined variable or array from memory.
  483.           DELETE_ARRAY: <varname>
  484.           <varname> is the name of the array or variable to be deleted. 
  485.           All memory overflow files associated with the array are deleted. 
  486.           See also "DELETE_ALL_ARRAYS.", "CREATE_ARRAY:", and
  487.           "REDIMENSION_ARRAY:".
  488.  
  489.           EXIT
  490.           Exits MASSCALC, closes the history file if it is open, deletes
  491.           any temporary memory overflow files, and returns control to the
  492.           operating system.
  493.  
  494.           HISTORY_NAME:
  495.           HISTORY NAME:
  496.           Displays the name of the last opened history file, and whether
  497.           the file is currently open or closed.  If no history file has
  498.           been opened since MASSCALC was started, "<no history opened>" is
  499.           displayed.  See also "OPEN_HISTORY_FILE:" and
  500.           "CLOSE_HISTORY_FILE.".
  501.  
  502.           OPEN_HISTORY_FILE:
  503.           OPEN HISTORY FILE:
  504.           Opens a history file with the specified name.
  505.           OPEN_HISTORY_FILE: <name>
  506.           <name> is the name of the file to open.  While the history file
  507.           is open, all output produced by MASSCALC is written to the screen
  508.           and the history file.  Only one history file may be opened at a
  509.           time, but files may be opened and closed as many times as the
  510.           user desires.  If a history file is already open, the open file
  511.           is closed and the new history file is opened.  If a file is
  512.  
  513.           MASSCALC     VERSION 1.00                                 9
  514.  
  515.  
  516.  
  517.           opened which already exists, the output is appended to the end of
  518.           the existing file.  File names must comply with the operating
  519.           system file name standards.  See also "CLOSE_HISTORY_FILE.",
  520.           "EXIT", and "HISTORY_NAME:".
  521.  
  522.           PRINT:
  523.           Prints a message on the screen.
  524.           PRINT: <message>
  525.           <message> is the message to be printed, and may include variables
  526.           and quoted text.  This example displays the message "X ="
  527.           followed by the value stored in the variable x:
  528.  
  529.           PRINT: "X = " x
  530.  
  531.           See the MASSCALC demo files for examples of this command.
  532.  
  533.           QUIT
  534.           See EXIT.
  535.  
  536.           REDIMENSION_ARRAY:
  537.           REDIMENSION ARRAY:
  538.           Redefines the dimensions for an existing array, or creates a new
  539.           array with the specified dimensions.
  540.           REDIMENSION_ARRAY: <name> (<dim1[, <dim2>, ...]);
  541.           <name> is the name of the array to be created or re-dimensioned. 
  542.           <dim1> and <dim2> are the new dimensions of the array, and the
  543.           number of dimensions are limited by the MASSCALC distribution. 
  544.           See "CREATE_ARRAY:".  All elements in the re-dimensioned array
  545.           are set = 0.0.  This example re-dimensions array A to be a two
  546.           dimensional array with 4 rows and 2 columns:
  547.  
  548.           REDIMENSION_ARRAY: A [4, 2];
  549.  
  550.           This example re-dimensions an array to have three dimensions (2
  551.           rows, 3 columns, and 4 pages):
  552.  
  553.           REDIMENSION_ARRAY: A [2, 3, 4];
  554.  
  555.           See the MASSCALC demo files for more examples of arrays and their
  556.           usage.
  557.  
  558.           REMOVE_ARRAY:
  559.           REMOVE ARRAY:
  560.           REMOVE_VARIABLE:
  561.           REMOVE VARIABLE:
  562.           See "DELETE_ARRAY:".
  563.  
  564.           RUN_COMMAND:
  565.           RUN COMMAND:
  566.           Runs a command at the operating system level.
  567.           RUN_COMMAND:<command>
  568.           <command> is the command to be run.  Operating system and other
  569.  
  570.           MASSCALC     VERSION 1.00                                 10
  571.  
  572.  
  573.  
  574.           utilities and commands may be run with this command without
  575.           terminating the current MASSCALC session.  These examples show
  576.           how the current directory may be listed:
  577.  
  578.           RUN COMMAND:dir/w
  579.           RUN_COMMAND:  dir/w
  580.  
  581.           Refer to your operating system manual for information concerning
  582.           the dir command.
  583.  
  584.           SHOW_ARRAY_STRUCTURE:
  585.           SHOW_VARIABLE_STRUCTURE:
  586.           SHOW ARRAY STRUCTURE:
  587.           SHOW VARIABLE STRUCTURE:
  588.           Displays information about the specified variable.
  589.           SHOW_ARRAY_STRUCTURE: <name>
  590.           <name> is the name of the variable or array whose structure is to
  591.           be displayed.  The structure information includes: variable name,
  592.           number of elements, number of dimensions, and the dimensions. 
  593.           The name of the memory overflow file is also given (memory
  594.           overflow files are only created in the full MASSCALC
  595.           distribution).  Dimensions are given in rows, columns, pages,
  596.           books, shelves, and so on.  See also "CREATE_ARRAY" and
  597.           "REDIMENSION_ARRAY".
  598.  
  599.           SHOW_ARRAY_LIST.
  600.           SHOW_VARIABLE_LIST.
  601.           SHOW_ARRAYS.
  602.           SHOW_VARIABLES.
  603.           SHOW ARRAYS:
  604.           SHOW ARRAY LIST:
  605.           SHOW VARIABLES:
  606.           SHOW VARIABLE LIST:
  607.           Displays a list of the names of all of the user defined variables
  608.           and arrays.  Single element variables are defined whenever a
  609.           variable name is used which has not already been defined.  See
  610.           also "SHOW_ARRAY_STRUCTURE:".
  611.  
  612.           FUNCTIONS:  Function names are not case sensitive, so ArcTan(x)
  613.           is the same as arctan(x) and ARCTAN(x).  All functions return one
  614.           or more values which may be assigned to an appropriately
  615.           dimensioned array or single element variable.  Most of the
  616.           functions described here may be included as parts of equations,
  617.           and may even be nested (i.e. SIN(COS(x))).  Those functions which
  618.           are exceptions to this rule are indicated in their respective
  619.           descriptions.  If a multi-element array is passed to most of
  620.           these functions, the returned value is a similarly dimensioned
  621.           array with the function applied to each of the values in the
  622.           original array as its values (exceptions are noted in the
  623.           respective function descriptions).  See the MASSCALC demo files
  624.           for more examples of function usage.
  625.  
  626.  
  627.           MASSCALC     VERSION 1.00                                 11
  628.  
  629.  
  630.  
  631.           ABS
  632.           Returns the absolute value of its single or multi-element
  633.           argument.
  634.           ABS (<value>)
  635.           <value> is a numeric value, a variable name, or an equation whose
  636.           result is to be passed as the argument to the function.
  637.  
  638.           ARCCOS
  639.           Returns the arc-cosine of its single or multi-element argument.
  640.           ARCCOS (<value>)
  641.           <value> is a numeric value, a variable name, or an equation whose
  642.           result is to be passed as the argument to the function.
  643.  
  644.           ARCSIN
  645.           Returns the arc-sine of its single or multi-element argument.
  646.           ARCSIN (<value>)
  647.           <value> is a numeric value, a variable name, or an equation whose
  648.           result is to be passed as the argument to the function.
  649.  
  650.           ARCTAN
  651.           Returns the two quadrant arc-tangent of its single or multi-
  652.           element argument.
  653.           ARCTAN (<value>)
  654.           <value> is a numeric value, a variable name, or an equation whose
  655.           result is to be passed as the argument to the function.
  656.  
  657.           ARCTAN4
  658.           Returns a four quadrant arc-tangent value for the given
  659.           coordinates.
  660.           ARCTAN4 (<yvalue>, <xvalue>)
  661.           <yvalue>  and <xvalue> are numeric values, variable names, or
  662.           equations whose results are to be passed as the arguments to the
  663.           function.  <yvalue> is the y  (vertical) coordinate on the plane,
  664.           and <xvalue> is the x (horizontal) coordinate on the plane.  Both
  665.           of the arguments passed to this function must be single element
  666.           values.
  667.  
  668.           ARCTAN_4
  669.           See ARCTAN4.
  670.  
  671.           CEIL
  672.           Returns the ceiling of its single or multi-element argument.
  673.           CEIL (<value>)
  674.           <value> is a numeric value, a variable name, or an equation whose
  675.           result is to be passed as the argument to the function.
  676.  
  677.           COS
  678.           Returns the cosine of its single or multi-element argument.
  679.           COS (<value>)
  680.           <value> is a numeric value, a variable name, or an equation whose
  681.           result is to be passed as the argument to the function.
  682.  
  683.  
  684.           MASSCALC     VERSION 1.00                                 12
  685.  
  686.  
  687.  
  688.           COSEC
  689.           Returns the cosecant of its single or multi-element argument.
  690.           COSEC (<value>)
  691.           <value> is a numeric value, a variable name, or an equation whose
  692.           result is to be passed as the argument to the function.
  693.  
  694.           COTAN
  695.           Returns the cotangent of its single or multi-element argument.
  696.           COTAN (<value>)
  697.           <value> is a numeric value, a variable name, or an equation whose
  698.           result is to be passed as the argument to the function.
  699.  
  700.           DERIVATIVE
  701.           Returns the first or second derivative of an equation.
  702.           DERIVATIVE (<dernum>, <var>, <equation>)
  703.           This function may not be included in other functions or
  704.           equations.  This function may be used to assign a value to a
  705.           variable or array element.  <dernum> is the derivative to find,
  706.           and must be either 1 or 2.  <var> is the name of the independent
  707.           variable, which must have been assigned the value to use in the
  708.           calculation.  <equation> is the equation to be derived.  All
  709.           variables and values in <equation> must be single element values. 
  710.           <var> must be part of <equation>.  <equation> is merged with the
  711.           fundamental theorem of calculus to find the derivatives.  The
  712.           accuracy of this function is effected by the predefined variable
  713.           _FUND_DER_DELTA.  See also DERIVATIVE_1 and DERIVATIVE_2.
  714.  
  715.           DERIVATIVE_1
  716.           Returns the first derivative of an equation.
  717.           DERIVATIVE_1 (<var>, <equation)
  718.           This function may not be included in other functions or
  719.           equations.  This function may be used to assign a value to a
  720.           variable or array element.  <var> is the name of the independent
  721.           variable, which must have been assigned the value to use in the
  722.           calculation.  <equation> is the equation to be derived.  All
  723.           variables and values in <equation> must be single element values. 
  724.           <var> must be part of <equation>.  The accuracy of this function
  725.           is effected by the predefined variable _DER_DELTA.  Central point
  726.           difference formulas are used to find the result for this
  727.           function.  See also DERIVATIVE_2 and DERIVATIVE.
  728.  
  729.           DERIVATIVE_2
  730.           Returns the second derivative of an equation.
  731.           DERIVATIVE_2 (<var>, <equation>)
  732.           This function may not be included in other functions or
  733.           equations.  This function may be used to assign a value to a
  734.           variable or array element.  <var> is the name of the independent
  735.           variable, which must have been assigned the value to use in the
  736.           calculation.  <equation> is the equation to be derived.  All
  737.           variables and values in <equation> must be single element values. 
  738.           <var> must be part of <equation>.  The accuracy of this function
  739.           is effected by the predefined variable _DER_DELTA.  Central point
  740.  
  741.           MASSCALC     VERSION 1.00                                 13
  742.  
  743.  
  744.  
  745.           difference formulas are used to find the result for this
  746.           function.  See also DERIVATIVE_1 and DERIVATIVE.
  747.  
  748.           DERIVE_LIST
  749.           Returns derivative values for the given list of equal spaced
  750.           data.
  751.           DERIVE_LIST (<interval>, <list>)
  752.           <interval> is the interval between points, expressed as a single
  753.           value, a single element variable, or an equation which produces a
  754.           single element value.  <list> is the name of a multi-element
  755.           array which contains the list of point values.  At least three
  756.           values must be contained in the list for this function to
  757.           calculate the derivatives.  Central point difference formulas are
  758.           used to calculate the derivatives for the inner points.  A
  759.           quadratic formula is used to calculate the derivatives at the end
  760.           points.
  761.  
  762.           EXP
  763.           Returns the exponential of its single or multi-element argument.
  764.           EXP (<value>)
  765.           <value> is a numeric value, a variable name, or an equation whose
  766.           result is to be passed as the argument to the function.
  767.  
  768.           FLOOR
  769.           Returns the floor of its single or multi-element argument.
  770.           FLOOR (<value>)
  771.           <value> is a numeric value, a variable name, or an equation whose
  772.           result is to be passed as the argument to the function.
  773.  
  774.           HYPCOS
  775.           Returns the hyperbolic cosine of its single or multi-element
  776.           argument.
  777.           HYPCOS (<value>)
  778.           <value> is a numeric value, a variable name, or an equation whose
  779.           result is to be passed as the argument to the function.
  780.  
  781.           HYPSIN
  782.           Returns the hyperbolic sine of its single or multi-element
  783.           argument.
  784.           HYPSIN (<value>)
  785.           <value> is a numeric value, a variable name, or an equation whose
  786.           result is to be passed as the argument to the function.
  787.  
  788.           HYPTAN
  789.           Returns the hyperbolic tangent of its single or multi-element
  790.           argument.
  791.           HYPTAN (<value>)
  792.           <value> is a numeric value, a variable name, or an equation whose
  793.           result is to be passed as the argument to the function.
  794.  
  795.  
  796.  
  797.  
  798.           MASSCALC     VERSION 1.00                                 14
  799.  
  800.  
  801.  
  802.           INTEG_A_SIMPSON
  803.           Returns the bounded integral of an equation using the Simpson
  804.           method.
  805.           INTEG_A_SIMPSON (<var>, <low>, <high>, <equation>)
  806.           This function may not be included in other functions or
  807.           equations.  This function may be used to assign a value to a
  808.           variable or array element.  <var> is the name of the variable to
  809.           integrate with.  <low> is the low end of the integration range. 
  810.           <high> is the high end of the integration range.  <equation> is
  811.           the equation to be integrated in the given range.  <low> and
  812.           <high> may be numeric values or equations which return single
  813.           element numeric solutions.  All variables and values in
  814.           <equation> must be single element values.  The error tolerance of
  815.           this function is defined by the predefined variable _TOLERANCE.
  816.  
  817.           INTEG_LIST
  818.           Returns the integral value for the given list of equal spaced
  819.           data.
  820.           INTEG_LIST (<interval>, <list>)
  821.           <interval> is the interval between points, expressed as a single
  822.           value, a single element variable, or an equation which produces a
  823.           single element value.  <list> is the name of a multi-element
  824.           array which contains the list of point values.  At least three
  825.           values must be contained in the list for this function to
  826.           calculate the integral.  Integration is performed with the
  827.           Simpson method.
  828.  
  829.           LN
  830.           Returns the natural logarithm of its single or multi-element
  831.           argument.
  832.           LN (<value>)
  833.           <value> is a numeric value, a variable name, or an equation whose
  834.           result is to be passed as the argument to the function.
  835.  
  836.           LOG
  837.           Returns the base 10 logarithm of its single or multi-element
  838.           argument.
  839.           LOG (<value>)
  840.           <value> is a numeric value, a variable name, or an equation whose
  841.           result is to be passed as the argument to the function.
  842.  
  843.           LOG_B
  844.           Returns the logarithm using the specified base for its single or
  845.           multi-element argument.
  846.           LOG_B (<base>, <value>)
  847.           <base> is a numeric value, a single element variable, or an
  848.           equation whose result produces a single element value.  <value>
  849.           is a numeric value, a variable name, or an equation whose result
  850.           is to be passed as the argument to the function.  <value> may be
  851.           a single or multi-element value.
  852.  
  853.  
  854.  
  855.           MASSCALC     VERSION 1.00                                 15
  856.  
  857.  
  858.  
  859.           MOD
  860.           Returns the remainder or remainders from division.
  861.           mod (<dividend>, <divisor>)
  862.           <dividend> is a single or multi-element numeric value, variable
  863.           or array name, or an equation.  <divisor> is a single element
  864.           numeric value, variable name, or equation which produces a single
  865.           element result.
  866.  
  867.           ROOT_INTHALF
  868.           Returns the root of an equation through interval halving.
  869.           ROOT_INTHALF (<var>, <low>, <high>, <equation>)
  870.           This function may not be included in other functions or
  871.           equations.  This function may be used to assign a value to a
  872.           variable or array element.  <var> is the name of the independent
  873.           variable.  <low> is the low end of the test range.  <high> is the
  874.           high end of the test range.  <equation> is the equation whose
  875.           root is to be found.  <low> and <high> may be numeric values or
  876.           equations which return single element numeric solutions.  All
  877.           variables and values in <equation> must be single element values. 
  878.           The error tolerance of this function is defined by the predefined
  879.           variable _TOLERANCE.  The number of iterations performed during
  880.           calculations in this function is limited by the predefined
  881.           variable _MAX_ITERATIONS.  Output from iterations during function
  882.           operation is either off or on, depending on whether the
  883.           predefined variable _OUT_ITERATIONS equals 0.0 or not.
  884.  
  885.           ROOT_LININT
  886.           Returns the root of an equation through linear interpolation.
  887.           ROOT_LININT (<var>, <low>, <high>, <equation>)
  888.           This function may not be included in other functions or
  889.           equations.  This function may be used to assign a value to a
  890.           variable or array element.  <var> is the name of the independent
  891.           variable.  <low> is the low end of the test range.  <high> is the
  892.           high end of the test range.  <equation> is the equation whose
  893.           root is to be found.  <low> and <high> may be numeric values or
  894.           equations which return single element numeric solutions.  All
  895.           variables and values in <equation> must be single element values. 
  896.           The error tolerance of this function is defined by the predefined
  897.           variable _TOLERANCE.  The number of iterations performed during
  898.           calculations in this function is limited by the predefined
  899.           variable _MAX_ITERATIONS.  Output from iterations during function
  900.           operation is either off or on, depending on whether the
  901.           predefined variable _OUT_ITERATIONS equals 0.0 or not.
  902.  
  903.           ROOT_MULLER
  904.           Returns the root of an equation through the Muller method.
  905.           ROOT_MULLER (<var>, <start_val>, <step>, <equation>)
  906.           This function may not be included in other functions or
  907.           equations.  This function may be used to assign a value to a
  908.           variable or array element.  <var> is the name of the independent
  909.           variable.  <start_val> is the starting point.  <step> is the step
  910.           (delta) value.  <equation> is the equation whose root is to be
  911.  
  912.           MASSCALC     VERSION 1.00                                 16
  913.  
  914.  
  915.  
  916.           found.  <start_val> and <step> may be numeric values or equations
  917.           which return single element numeric solutions.  All variables and
  918.           values in <equation> must be single element values.  The error
  919.           tolerance of this function is defined by the predefined variable
  920.           _TOLERANCE.  The number of iterations performed during
  921.           calculations in this function is limited by the predefined
  922.           variable _MAX_ITERATIONS.  Output from iterations during function
  923.           operation is either off or on, depending on whether the
  924.           predefined variable _OUT_ITERATIONS equals 0.0 or not.
  925.  
  926.           ROOT_NEWTON
  927.           Returns the root of an equation through Newton's method.
  928.           ROOT_NEWTON (<var>, <start_val>, <equation>, <derivative>)
  929.           This function may not be included in other functions or
  930.           equations.  This function may be used to assign a value to a
  931.           variable or array element.  <var> is the name of the independent
  932.           variable.  <start_val> is the starting point.  <equation> is the
  933.           equation whose root is to be found.  <derivative> is the
  934.           derivative of the equation whose root is to be found. 
  935.           <start_val> may be a numeric value or an equation which returns a
  936.           single element numeric solution.  All variables and values in
  937.           <equation> and <derivative> must be single element values.  The
  938.           error tolerance of this function is defined by the predefined
  939.           variable _TOLERANCE.  The number of iterations performed during
  940.           calculations in this function is limited by the predefined
  941.           variable _MAX_ITERATIONS.  Output from iterations during function
  942.           operation is either off or on, depending on whether the
  943.           predefined variable _OUT_ITERATIONS equals 0.0 or not.
  944.  
  945.           ROOT_SECANT
  946.           Returns the root of an equation through the secant method.
  947.           ROOT_SECANT (<var>, <low>, <high>, <equation>)
  948.           This function may not be included in other functions or
  949.           equations.  This function may be used to assign a value to a
  950.           variable or array element.  <var> is the name of the independent
  951.           variable.  <low> is the low end of the test range.  <high> is the
  952.           high end of the test range.  <equation> is the equation whose
  953.           root is to be found.  <low> and <high> may be numeric values or
  954.           equations which return single element numeric solutions.  All
  955.           variables and values in <equation> must be single element values. 
  956.           The error tolerance of this function is defined by the predefined
  957.           variable _TOLERANCE.  The number of iterations performed during
  958.           calculations in this function is limited by the predefined
  959.           variable _MAX_ITERATIONS.  Output from iterations during function
  960.           operation is either off or on, depending on whether the
  961.           predefined variable _OUT_ITERATIONS equals 0.0 or not.
  962.  
  963.           SEC
  964.           Returns the secant of its single or multi-element argument.
  965.           SEC (<value>)
  966.           <value> is a numeric value, a variable name, or an equation whose
  967.           result is to be passed as the argument to the function.
  968.  
  969.           MASSCALC     VERSION 1.00                                 17
  970.  
  971.  
  972.  
  973.           SIN
  974.           Returns the sine of its single or multi-element argument.
  975.           SIN (<value>)
  976.           <value> is a numeric value, a variable name, or an equation whose
  977.           result is to be passed as the argument to the function.
  978.  
  979.           SQRT
  980.           Returns the square root of its single or multi-element argument.
  981.           SQRT (<value>)
  982.           <value> is a numeric value, a variable name, or an equation whose
  983.           result is to be passed as the argument to the function.
  984.  
  985.           TAN
  986.           Returns the tangent of its single or multi-element argument.
  987.           TAN (<value>)
  988.           <value> is a numeric value, a variable name, or an equation whose
  989.           result is to be passed as the argument to the function.
  990.  
  991.           TEMPORARY MEMORY OVERFLOW FILES:  The full distribution of
  992.           MASSCALC may produce some memory overflow files for tables of
  993.           numbers which can not be stored in the computer's main memory. 
  994.           These files contain only the numeric data, which is stored as 64
  995.           bit double precision floating point values.  These files are
  996.           temporarily stored in a directory defined by one of the following
  997.           operating system environment variables:
  998.  
  999.           MASSCALCTEMP
  1000.           TMP
  1001.           TEMP
  1002.  
  1003.           The directory name is searched for in the environment variables
  1004.           shown above in the order shown.  If none of the environment
  1005.           variables shown here are defined, MASSCALC writes its temporary
  1006.           memory overflow files to the current directory.  See your
  1007.           operating system manual for information concerning the SET
  1008.           command for creating and viewing environment variables.
  1009.  
  1010.           ERRORS AND ERROR MESSAGES:  MASSCALC may produce error messages
  1011.           under certain circumstances.  The error messages produced by
  1012.           MASSCALC are described below.  Some errors may leave random or
  1013.           incomplete values in variables or tables of values as noted
  1014.           below.  Error messages are output along with the line number of
  1015.           the input where the error occurred.  The descriptions below
  1016.           include the error name, the text of the error message as
  1017.           displayed in the output, and a description of what the error
  1018.           might mean.
  1019.  
  1020.           ADJACENT_OPERATOR_ERROR
  1021.           Adjacent operators not allowed.
  1022.           Two operators were found in the equation without an operand
  1023.           (variable, number, function, etc.) between them.
  1024.  
  1025.  
  1026.           MASSCALC     VERSION 1.00                                 18
  1027.  
  1028.  
  1029.  
  1030.           ARCTAN_4_ERROR
  1031.           Multi-element arrays not allowed in arctan_4 function.
  1032.           One or both of the parameters passed to ARCTAN4 or ARCTAN_4 was a
  1033.           multi-element value.
  1034.  
  1035.           ASSIGNMENT_ADD_ERROR
  1036.           = not valid while adding a column of values.
  1037.           The equal sign (=) was entered on a line between the ADD: or
  1038.           ADD_INTO: command, and the ENDADD command.
  1039.  
  1040.           ASSIGNMENT_PRINT_ERROR
  1041.           Assignment not valid in print: command.
  1042.           An equal sign (=) was found outside of the quotation marks
  1043.           ("...") in a PRINT: command.
  1044.  
  1045.           CALC_ERROR
  1046.           Attempted divide by 0.
  1047.           The denominator in a division was approximately equal to 0.0.
  1048.  
  1049.           CONSTANT_VARIABLE_ERROR
  1050.           Constant used as a variable.
  1051.           An attempt was made to assign a value to a predefined constant.
  1052.  
  1053.           COMM_STACK_UNDERFLOW_ERROR
  1054.           Attempt to end too many command structures.
  1055.           Too many commands were removed from the internal calculator
  1056.           command stack.
  1057.  
  1058.           CREATION_ERROR
  1059.           Can not create array ...
  1060.           A variable could not be created or re-dimensioned for the reason
  1061.           given in the output.
  1062.  
  1063.           DERIVE_COUNT_ERROR
  1064.           Can not calculate derivative # ...
  1065.           A derivative number other than 1 or 2 was passed as a parameter
  1066.           to the DERIVE_FUNDAMENTAL function.  Only first (1) and second
  1067.           (2) derivatives are allowed here.
  1068.  
  1069.           DIMENSION_BOUNDARY_ERROR
  1070.           Dimension is outside of array [<varname>].
  1071.           The value given in an array subscript is too high.  <varname> is
  1072.           the name of the variable whose subscript was over reached.
  1073.  
  1074.           DIMENSION_COUNT_ERROR
  1075.           Arrays have different number of dimensions ...
  1076.           Arrays or variables in an addition or subtraction process did not
  1077.           have the same number of dimensions.
  1078.  
  1079.  
  1080.  
  1081.  
  1082.  
  1083.           MASSCALC     VERSION 1.00                                 19
  1084.  
  1085.  
  1086.  
  1087.           DIMENSION_DIVISION_ERROR
  1088.           Multi-element denominator in division.
  1089.           The denominator in a division process contained more than one
  1090.           element.
  1091.  
  1092.           DIMENSION_MATCH_ERROR
  1093.           Arrays have different dimensions ...
  1094.           Arrays or variables did not have the same dimensions in an
  1095.           addition or subtraction operation.
  1096.  
  1097.           DIMENSION_MAXIMUM_ERROR
  1098.           Maximum permitted number of dimensions exceeded.
  1099.           Too many dimensions were assigned to a variable while creating or
  1100.           re-dimensioning an array.
  1101.  
  1102.           DIMENSION_MULTIPLY_ERROR
  1103.           Can not calculate arrays ...
  1104.           An invalid situation occurred while attempting to multiply two
  1105.           arrays together as described in the output.
  1106.  
  1107.           ELEMENT_OVERFLOW_ERROR
  1108.           Too much data for array [<varname>].
  1109.           Too much data was produced to assign it all to the given array or
  1110.           variable.  <varname> is the name of the array or variable which
  1111.           did not contain enough elements to hold all of the data.
  1112.  
  1113.           ELEMENT_UNDERFLOW_ERROR
  1114.           Not enough data for array [<varname>].
  1115.           Insufficient data were produced to assign values to all of the
  1116.           elements in the given array.  <varname> is the name of the array
  1117.           which was not completely assigned data.
  1118.  
  1119.           ENTRY_ERROR
  1120.           Improperly formatted equation ...
  1121.           An input line was found that could not be understood.  The line
  1122.           contains at least one syntax error which could not be found with
  1123.           the other error checking in MASSCALC.
  1124.  
  1125.           EQUALS_ERROR
  1126.           Too many equal signs.
  1127.           More than one equal sign (=) was found in a single equation.
  1128.  
  1129.           FILE_ERROR
  1130.           Memory overflow file for ...
  1131.           An error occurred while trying to write to, read from, or create
  1132.           a memory overflow file.  Memory overflow files are created only
  1133.           in the full distribution of MASSCALC.
  1134.  
  1135.  
  1136.  
  1137.  
  1138.  
  1139.  
  1140.           MASSCALC     VERSION 1.00                                 20
  1141.  
  1142.  
  1143.  
  1144.           FUNCTION_USAGE_ERROR
  1145.           Invalid usage of function or invalid function name.
  1146.           An array subscript has been taken as a function parameter or
  1147.           parameters, or the number of commas (,) fooled MASSCALC into
  1148.           looking for a function name where no valid function name existed.
  1149.  
  1150.           HILO_RANGE_ERROR
  1151.           Function has same sign at high and low values.
  1152.           An iterative function such as some of the root and integral
  1153.           functions which required a user defined range (low and high
  1154.           values) could not find a solution in the specified range.
  1155.  
  1156.           HISTFILE_ERROR
  1157.           Can not open history file [<filename>].
  1158.           The history file named <filename> could not be opened for
  1159.           appending ASCII records.
  1160.  
  1161.           ILLEGAL_SUBSCRIPT_ERROR
  1162.           Subscript not a single value.
  1163.           An array subscript was not a single element value.
  1164.  
  1165.           INTEGRAL_UNDERFLOW_ERROR
  1166.           Integration stack underflow.
  1167.           An integral calculation resulted in the integral stack being read
  1168.           too many times.
  1169.  
  1170.           ITERATION_ERROR
  1171.           Iteration count error.
  1172.           An iterative function (such as some root and integral functions)
  1173.           tried to perform more than MAX_ITERATIONS attempts to solve the
  1174.           given equation.
  1175.  
  1176.           LAST_CHARACTER_ERROR
  1177.           Last active character in line is invalid: [<char>].
  1178.           An equation was entered whose last character was <char>, which
  1179.           was not a valid character to end an equation with.
  1180.  
  1181.           LOG_BASE_ERROR
  1182.           Array can not be the base for a logarithm.
  1183.           The <base> parameter in the LOG_B function was not a single
  1184.           element value.
  1185.  
  1186.           MAX_IN_LINES_ERROR
  1187.           Maximum number of allowed input lines exceeded.
  1188.           The maximum number of allowed input lines was reached.  When this
  1189.           error occurs, the history file is closed if it was open, and
  1190.           MASSCALC terminates and returns control to the operating system. 
  1191.           This error does not occur in the full distribution.
  1192.  
  1193.           MAX_LINE_LENGTH_ERROR
  1194.           Maximum line length exceeded.
  1195.           The entered equation or other information was too long.  The
  1196.  
  1197.           MASSCALC     VERSION 1.00                                 21
  1198.  
  1199.  
  1200.  
  1201.           input line is terminated in most cases by a semicolon (;); not
  1202.           necessarily by a line feed character.  Missing semicolons at the
  1203.           end of equations may cause this error.
  1204.  
  1205.           MISPLACED_CLOSE_ERROR
  1206.           Misplaced , ) ] or }.
  1207.           One of the listed characters was found in an illegal position in
  1208.           the input line.
  1209.  
  1210.           MISPLACED_OPEN_ERROR
  1211.           Misplaced ( [ { or ,.
  1212.           One of the listed characters was found in an illegal position in
  1213.           the input line.
  1214.  
  1215.           MISSING_VARIABLE_ERROR
  1216.           Variable name must be entered to left of =.
  1217.           An equal sign (=) was entered as the first character of an
  1218.           equation.
  1219.  
  1220.           MOD_ERROR
  1221.           Array can not be the divisor in modula division.
  1222.           A multi-element array was passed as the divisor parameter in the
  1223.           MOD function.
  1224.  
  1225.           OPERAND_OVERFLOW_ERROR
  1226.           Calculator operand stack overflow.
  1227.           The calculator operand stack overflowed while trying to solve an
  1228.           equation.
  1229.  
  1230.           OPERAND_UNDERFLOW_ERROR
  1231.           Calculator operand stack underflow.
  1232.           The calculator operand stack was read too many times.
  1233.  
  1234.           OPERATOR_OVERFLOW_ERROR
  1235.           Calculator operator stack overflow.
  1236.           The calculator operator stack overflowed while trying to solve an
  1237.           equation.
  1238.  
  1239.           OPERATOR_UNDERFLOW_ERROR
  1240.           Calculator operator stack underflow.
  1241.           The calculator operator stack was read too many times.
  1242.  
  1243.           POWER_ERROR
  1244.           Multi-element array included in exponent calculation.
  1245.           A multi-element value was found in either the exponent or the
  1246.           mantissa in a power calculation.
  1247.  
  1248.           SHORT_LIST_ERROR
  1249.           List must contain 3 or more elements for calculations.
  1250.           The array passed as the list of values in a derivative or
  1251.           integral calculation did not contain at least 3 elements.
  1252.  
  1253.  
  1254.           MASSCALC     VERSION 1.00                                 22
  1255.  
  1256.  
  1257.  
  1258.           SPECIAL_DIMENTION_ERROR
  1259.           Multi-element array included in special function.
  1260.           A multi-element array was found in a function which requires only
  1261.           single values.
  1262.  
  1263.           SPEC_OP_PLACE_ERROR
  1264.           Special restricted functions not allowed here.
  1265.           A derivative, integral, or root function is in a location that is
  1266.           not allowed, such as in an equation.  These functions may not be
  1267.           included as parts of equations or as parameters of functions.
  1268.           STEP_ERROR
  1269.           Step must be a single value.
  1270.           The step (delta) value in the function is not a single element
  1271.           value.
  1272.  
  1273.           SYNTAX_DERIVE_ERROR
  1274.           Syntax error in derivative function.
  1275.           One or more of the required parameters is missing in either the
  1276.           DERIVATIVE_1 or DERIVATIVE_2 function.
  1277.  
  1278.           SYNTAX_FUNDAMENTAL_ERROR
  1279.           Syntax error in fundamental derivative.
  1280.           One or more of the required parameters is missing in the
  1281.           fundamental derivative function.
  1282.  
  1283.           SYNTAX_INTEG_ERROR
  1284.           Syntax error in integral function.
  1285.           One or more of the required parameters is missing in one of the
  1286.           integral functions (name begins with INTEG_).
  1287.  
  1288.           SYNTAX_ROOT_ERROR
  1289.           Syntax error in root function.
  1290.           One or more of the required parameters is missing in one of the
  1291.           root functions (name begins with ROOT_).
  1292.  
  1293.           UNBALANCED_ERROR
  1294.           Unbalanced (), [], or {}.
  1295.           Too many or too few of one or more of these operators were found.
  1296.  
  1297.           VARIABLE_ERROR
  1298.           Illegal variable name [<varname>].
  1299.           At least one invalid character was found in a variable name. 
  1300.           <varname> is the illegal variable name found by MASSCALC.
  1301.  
  1302.           MAXIMUM VALUES AND LIMITS:  MASSCALC includes some limits, some
  1303.           of which are different depending on whether the shareware,
  1304.           student, or full distribution is being used.  Here is a list of
  1305.           the limits imposed by MASSCALC.  UNLIMITED values listed here are
  1306.           not limited by MASSCALC, but may be restricted by hardware or
  1307.           operating system limitations.  MASSCALC operates completely
  1308.           within main memory, except where data memory overflow files are
  1309.           allowed.
  1310.  
  1311.           MASSCALC     VERSION 1.00                                 23
  1312.  
  1313.  
  1314.  
  1315.           SHAREWARE DISTRIBUTION LIMITS
  1316.           maximum number of array dimensions = 3
  1317.           maximum number of input lines allowed = 110
  1318.           maximum line length = 100
  1319.           maximum variable name length = 20
  1320.           memory overflow files are not allowed
  1321.  
  1322.           STUDENT DISTRIBUTION LIMITS
  1323.           maximum number of array dimensions = 6
  1324.           maximum number of input lines allowed = 1,010
  1325.           maximum line length = 1,000
  1326.           maximum variable name length = 30
  1327.           memory overflow files are not allowed
  1328.  
  1329.           FULL DISTRIBUTION LIMITS
  1330.           maximum number of array dimensions = 255
  1331.           maximum number of input lines allowed = UNLIMITED
  1332.           maximum line length = 2000
  1333.           maximum variable name length = 80
  1334.           memory overflow files are allowed for array data
  1335.  
  1336.  
  1337.  
  1338.  
  1339.  
  1340.  
  1341.  
  1342.  
  1343.  
  1344.  
  1345.  
  1346.  
  1347.  
  1348.  
  1349.  
  1350.  
  1351.  
  1352.  
  1353.  
  1354.  
  1355.  
  1356.  
  1357.  
  1358.  
  1359.  
  1360.  
  1361.  
  1362.  
  1363.  
  1364.  
  1365.  
  1366.  
  1367.  
  1368.           MASSCALC     VERSION 1.00                                 24
  1369.